package itemSaver

import (
	"fmt"
	"log"
	"spider/models/meituan/meituanMeishiPc"
)

func ConsumerItem(itemsChan chan interface{}, consumerEndChan chan int) {
	for items := range itemsChan {
		SaveToMysql(items)
	}
	consumerEndChan <- 1
}

func SaveToMysql(items interface{}) {
	if value, ok := items.([]meituanMeishiPc.LicenseResData); ok {
		one := value[0]
		if ExistsByPoiId(one.PoiId) {
			log.Printf("Exist poiId=%d\n", one.PoiId)
		} else {
			var oneLincense meituanMeishiPc.MeituanLicenseBase
			oneLincense = one.MeituanLicenseBase
			mt := &meituanMeishiPc.TableMeiTuanLicense{}
			data := meituanMeishiPc.TableMeiTuanLicense{
				MeituanLicenseBase: oneLincense,
			}
			affected, err := mt.Add(data)

			if nil == err {
				fmt.Printf("PoiId=%d,affected================%d\n", one.PoiId, affected)
			} else {
				fmt.Printf("err=%s,PoiId=%d\n", err, one.PoiId)
			}
		}

	}
}

func ExistsByPoiId(poiId int) bool {
	mt := &meituanMeishiPc.TableMeiTuanLicense{}
	base := meituanMeishiPc.MeituanLicenseBase{PoiId: poiId}
	res := mt.QueryOne("id", meituanMeishiPc.TableMeiTuanLicense{MeituanLicenseBase: base})
	if len(res) > 0 {
		return true
	}
	return false
}
